Web to video-on-demand system, authentication engine and method for using same

ABSTRACT

A system, an authentication engine and a method are described herein for authenticating an end user and associating their set-top box with a third party web based application to stream a third party video to the set-top box. In one example, the end user may utilize a client device (e.g., computer, laptop computer, smart phone) to access via the internet the third party video provider which lists a number of videos that the end user could watch on their television. The end user would select one of the videos to watch and then their cable provider would stream the video to the end-user&#39;s set-top box to be displayed on their television. To enable this service, the authentication system authenticates the end user and associates their set-top box with the third party video provider&#39;s web based application.

TECHNICAL FIELD

The present invention relates to a system, an authentication engine anda method for authenticating an end user and associating their set-topbox with a third party web based application to stream a third partyvideo to the set-top box.

BACKGROUND

An end user may want to watch a video that they selected from a thirdparty video provider over the internet where their cable provider (notrelated to the third party video provider) then streams the video totheir set-top box to be displayed on a television. For instance, the enduser may utilize a client device (e.g., computer, laptop computer, smartphone) to access via the internet the third party video provider (e.g.,Amazon.com) which lists a number of videos that the end user could watchon their television. The end user would select one of the videos towatch and then their cable provider would stream the video to theend-user's set-top box to be displayed on their television. However,this desirable service is not currently available because there is noauthentication system available that can authenticate the end user andassociate their set-top box with the third party video provider's webbased application. This need and other needs are satisfied by thepresent invention.

SUMMARY

A system, an authentication engine and a method for authenticating anend user and associating their set-top box with a third party web basedapplication to stream a third party video to the set-top box aredescribed in the independent claims of the present application.Advantageous embodiments of the system, the authentication engine, andthe method are described in the dependent claims.

In an aspect, the present invention provides a system for authenticatingan end user and associating their set-top box with a third party webbased application to stream a third party video to the set-top box. Thesystem comprises a third party video provider (including a third partyweb based application), a client device, an authentication engine, and acable provider (including a cable head-end, a billing system, and avideo-on-demand application). The client device has the third party webbased application downloaded therein by the end user. The end user usesthe third party web based application to select a video to be streamedto the set-top box. The third party video provider checks if the clientdevice contains an authentication cookie and if there is noauthentication cookie then an authentication-login dialog is presentedin the downloaded third party web based application which prompts theend user to enter cable provider information. The authentication enginereceives the cable provider information and uses a provider accessdirectory located therein to determine a cable provider and a cablehead-end that services the set-top box. The authentication engine sendsan end user verification message to the cable head-end. The cablehead-end is associated with a billing system which receives the end userverification message and if the end user is associated with the cableprovider then sends an end user verification acknowledgment message tothe authentication engine. The authentication engine receives the enduser verification acknowledgement message and then interacts with thebilling system to map the set-top box to the end user. Theauthentication engine after the set-top box is mapped to the end userrequests the cable head-end to stream the video from the video-on-demandapplication (which received the video from the third party videoprovider) to the set-top box. The authentication engine stores the cableprovider information and corresponding information related to the cableprovider and the cable head-end for subsequent use to stream anothervideo to the set-top box without requiring the end user to enter all ofthe cable provider information into the authentication-login dialog,wherein the another video is associated with either the third partyvideo provider or another third party video provider. An advantage ofthe system is that it enables an end user to watch a video that theyselected from a third party video provider over the internet where theircable provider (not related to the third party video provider) streamsthe video to their set-top box to be displayed on a television.

In another aspect, the present invention provides a method forauthenticating an end user and associating their set-top box with athird party web based application to stream a third party video to theset-top box. The method comprises the steps of: (a) downloading a thirdparty web based application into a client device, wherein the end userinteracts with the third party web based application to select a videoto be streamed to the set-top box; (b) checking, at a third party videoprovider, if the client device contains an authentication cookie and ifthere is no authentication cookie then presenting anauthentication-login dialog in the downloaded third party web basedapplication which prompts the end user to enter cable providerinformation; (c) receiving, at an authentication engine, the cableprovider information and using a provider access directory locatedtherein to determine a cable provider and a cable head-end that servicesthe set-top box; (d) sending, from the authentication engine, an enduser verification message to the cable head-end; (e) receiving, at thecable head-end, the end user verification message and if the end user isassociated with the cable provider then sending an end user verificationacknowledgment message to the authentication engine, wherein the cablehead-end is associated with a billing system and a video-on-demandapplication, wherein the video-on-demand application contains the video,and wherein the billing system receives the end user verificationmessage and determines if the end user is associated with the cableprovider; (f) receiving, at the authentication engine, the end userverification acknowledgement message and then interacting with thebilling system to map the set-top box to the end user; (g) requesting,at the authentication engine, the cable head-end to stream the videofrom the video-on-demand application (which received the video from thethird party video provider) to the set-top box; and (h) storing, at theauthentication engine, the cable provider information and correspondinginformation related to the cable provider and the cable head-end forsubsequent use to stream another video to the set-top box withoutrequiring the end user to enter all of the cable provider informationinto the authentication-login dialog, wherein the another video isassociated with either the third party video provider or another thirdparty video provider. An advantage of the method is that it enables anend user to watch a video that they selected from a third party videoprovider over the internet where their cable provider (not related tothe third party video provider) streams the video to their set-top boxto be displayed on a television.

In yet another aspect, the present invention provides an authenticationengine that is used in a system which includes a third party videoprovider with a third party web based application, a client device whichhas the third party web based application downloaded therein by the enduser, wherein the end user uses the third party web based application toselect a third party video to be streamed to the set-top box, and thethird party video provider checks if the client device contains anauthentication cookie and if there is no authentication cookie then anauthentication-login dialog is presented in the downloaded third partyweb based application which prompts the end user to enter cable providerinformation. The authentication engine comprises: (a) a provider accessdirectory; (b) a processor; and (c) a non-transitory memory that storesprocessor-executable instructions wherein the processor interfaces withthe non-transitory memory and executes the processor-executableinstructions to: (i) receive the cable provider information and use theprovider access directory to determine a cable provider and a cablehead-end that services the set-top box; (ii) send an end userverification message to the cable head-end, wherein the cable head-endreceives the end user verification message and determines if the enduser is associated with the cable provider and if yes sends an end userverification acknowledgment message; (iii) receive the end userverification acknowledgement message and interact with the cablehead-end to map the set-top box to the end user; (iv) request the cablehead-end to stream the video from the video-on-demand application (whichreceived the video from the third party video provider) to the set-topbox after the set-top box is mapped to the end user; and (v) store thecable provider information and corresponding information related to thecable provider and the cable head-end for subsequent use to streamanother video to the set-top box without requiring the end user to enterall of the cable provider information into the authentication-logindialog, wherein the another video is associated with either the thirdparty video provider or another third party video provider. An advantageof the authentication engine is that it enables an end user to watch avideo that they selected from a third party video provider over theinternet where their cable provider (not related to the third partyvideo provider) streams the video to their set-top box to be displayedon a television.

Additional aspects of the invention will be set forth, in part, in thedetailed description, figures and any claims which follow, and in partwill be derived from the detailed description, or can be learned bypractice of the invention. It is to be understood that both theforegoing general description and the following detailed description areexemplary and explanatory only and are not restrictive of the inventionas disclosed.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present invention may be obtainedby reference to the following detailed description when taken inconjunction with the accompanying drawings:

FIG. 1 a block diagram of a system for authenticating an end user andassociating their set-top box (controlled by a cable provider) with athird party web based application (controlled by a third party videoprovider) to stream a third party's video to the set-top box inaccordance with an embodiment of the present invention;

FIG. 2 is a flowchart illustrating the basic steps of a method forauthenticating an end user and associating their set-top box (controlledby a cable provider) with a third party web based application(controlled by a third party video provider) to stream a third party'svideo to the set-top box in accordance with an embodiment of the presentinvention; and

FIG. 3 is a flowchart illustrating exemplary steps that can be used tomap the end user to their set-top box associated per step 8 of FIG. 2 inaccordance with an embodiment of the present invention.

DETAILED DESCRIPTION

Referring to FIG. 1, there is a block diagram of a system 100 forauthenticating an end user 102 and associating their set-top box 104(controlled by a cable provider 106) with a third party web basedapplication 127 (controlled by a third party video provider 108) tostream a third party's video 110 to the set-top box 104 in accordancewith an embodiment of the present invention. The system 100 includes theset-top box 104, a client device 112 (e.g., computer 112, smart phone112, personal digital assistant 112) and a television 114 all of whichare associated with the end user 102. In addition, the system 100includes the cable provider 106, the third party video provider 108, andan authentication engine 116. The cable provider 106 includes at least abilling system 118 and a cable head-end 119 which includes avideo-on-demand application 120, a content store 122, a video pump 124,and a Quadrature Amplitude Modulation (QAM) device 126. The third partyvideo provider 108 includes the third party video 110 and a third partyweb based application 127 (e.g., third party web site 127). Theauthentication engine 116 includes at least a processor 128, a memory130, and a provider access directory 132. As shown, the client device112 is coupled via the internet 134 to the authentication engine 116.The authentication engine 116 is coupled via the internet 134 to thethird party video provider 108 and the cable provider 106. The cableprovider 106 is coupled via fiber optic cable 135 (or the Internet 134,a satellite wireless connection) to the set-top box 104. A detaileddiscussion about how the cable provider 106, the third party videoprovider 108, the authentication engine 116, and the client device 112interact with one another to stream the third party video 110 to the enduser's set-top box 104 in accordance with an embodiment of the presentinvention is provided next with respect to FIGS. 2-3.

Referring to FIG. 2, there is a flowchart illustrating the basic stepsof a method 200 for authenticating the end user 102 and associatingtheir set-top box 104 (controlled by a cable provider 106) with thethird party web based application 127 (controlled by a third party videoprovider 108) to stream the third party's video 110 to the set-top box104 in accordance with an embodiment of the present invention. The basicsteps are discussed next as follows:

Step 1: The end user 102 downloads the third party web based application127 (e.g., third party website 127) into their client device 112. Thethird party web based application 127 exposes video assets which can beplayed on the set-top box 104/television 114 and presents the end user102 an option to view one or more of those video assets on their set-topbox 104/television 114. Note: step 1 and the subsequent steps 2-16 havealso been illustrated in FIG. 1.

Step 2: The end user 102 uses the third party web based application 127to select a video 110 to be streamed to their set-top box 104 anddisplayed on their television 114 (or other display device).

Step 3: The third party video provider 108 checks if the client device112 contains an authentication cookie 138. If yes, steps 4-11 areperformed. If no, then steps 12-16 are performed.

Step 4: If there is no authentication cookie 138 then the third partyvideo provider 106 presents an authentication-login dialog 140 into thedownloaded third party web based application 127. Theauthentication-login dialog 140 prompts the end user 102 to enter cableprovider information 142. The cable provider information 142 can include(for example): a cable provider identifier, a user name, a password, anidentifier associated with the selected video 110, and a zip code (orother end user geographical location identifier). The user name andpassword are the same as what the end user 102 has established with thecable provider 106. The zip code is used to identify the geographicallocation of the end user 102 so that the specific cable provider's cablehead-end 119 can be identified that services the set-top box 104. Thisis needed because the cable provider 106 has many cable head-ends 119.

Step 5: The authentication engine 116 receives the cable providerinformation 142 and uses the provider access directory 132 locatedtherein to determine the specific cable provider 106 and the specificcable head-end 119 that services the end user's set-top box 104.

Step 6: The authentication engine 116 sends an end user verificationmessage 144 to the cable head-end 119. In particular, the authenticationengine 116 sends the end user verification message 144 to the billingsystem 118. The end user verification message 144 includes at least theend user's user name and password which indicate that the end user 102has the right to control the set-top box 104.

Step 7: The billing system 118 receives the end user verificationmessage 144 and uses the received user name and password to check if theend user 102 is associated (subscribes) with the cable provider 106 andif yes then sends an end user verification acknowledgment message 146 tothe authentication engine 116. If the end user 102 is not associated(subscribes) with the cable provider 106, then the billing system 118informs the authentication engine 116 that the cable provider 106 doesnot or will not service the end user 102.

Step 8: The authentication engine 116 receives the end user verificationacknowledgement Message 146 and then interacts with the billing system118 to map the set-top box 104 to the end user 106. An example of howthe set-top box 104 can be mapped to the end user 106 is discussed belowwith respect to FIG. 3.

Step 9: The authentication engine 116 sends a request message 148 to thecable head-end 119 requesting that the video 110 be streamed from thevideo-on-demand application 120 to the set-top box 104. Of course, thethird party video provider 108 would have previously downloaded thevideo 110 into the video-on-demand application 120 some time prior tostep 9. In the example shown, the third party video provider 108 woulddownload the video 110 into the video-on-demand application 120 throughthe authentication engine 116. Note: the end-user 102 while watching thevideo 100 can send a trick mode command (play, pause, fast forward,rewind) from the client device 112 to the authentication server 116which can pass the request along to the video-on-demand application 120which in turn sets up the controls the streaming of the video 110 to theend users set-top box 104.

Step 10: The authentication engine 116 sends updated authenticationinformation 150 to be stored in the client device's authenticationcookie 138 for future use in case the end user 102 requests the thirdparty video provider 108 or another third party video provider (notshown) to stream another video to the set-top box. For instance, theupdated IS authentication information 152 can include an identifier ofthe third party video provider 108, possibly an expiration timeindicator, and possibly an authentication token. See steps 12-16 fordiscussion about how this information is used when the third party videoprovider 108 in step 3 determines that the client device 112 containsthe authentication cookie 138.

Step 11: The authentication engine 116 stores end user information 150related to the cable provider information 142 and correspondinginformation related to the cable provider 106 and cable head-end 119(e.g., hostname or internet protocol address) for subsequent use tostream another video to the set-top box 104 without requiring the enduser 102 to re-enter all of the cable provider information 142 into theauthentication-login dialog 140. The another video can be associatedwith either the third party video provider 108 or another third partyvideo provider (not shown).

Step 12: In the event, the third party video provider 108 determinesduring step 3 that the client device 112 contains the authenticationcookie 138 then the authentication engine 116 receives authenticationinformation 154 from the authentication cookie 138. For instance, theauthentication information 154 can include an identifier for each thirdparty video provider that has previously streamed a video to the enduser's set-top box 104. In addition, the authentication information 152could include an expiration time indicator and possibly anauthentication token.

Steps 13-16: The authentication engine 116 checks the authenticationinformation 154 to determine (step 13) if it is ok to instruct the cablehead-end 119 to stream the video 110 to the set-top box 104. If ok, thenthe authentication engine 116 instructs (step 14) the cable head-end 119to stream the video 110 to the set-top box 104. If not ok, then theauthentication engine 116 prompts (step 15) the end user 102 to input auser name and password but not all of the cable provider information 142into the authentication-login dialog 140 and then checks (step 16) theentered user name and password and if ok then the authentication engine116 instructs the cable head-end 119 to stream the video 110 to theset-top box 104. A discussion about two exemplary scenarios involvingsteps 13-16 is provided next.

In one scenario, assume the authentication information 154 includes anidentifier of the third party video provider 108 which means that thethird party video provider 108 has previously streamed a video to theend user's set-top box 104. The authentication engine 116 would use thestored end user information 150 to request the cable head-end 119 tostream the video 110 to the set-top box 104 without having tore-authenticate the end user 102 or map the set-top box 104. In theevent, the authentication information 154 also included an expirationtime indicator then the authentication engine 116 would determine if thetime expiration has passed and if yes then the authentication engine 116would request the end user 102 to enter their username and password butnot all of the other cable provider information into theauthentication-login dialog 140 and then if ok request the cablehead-end 119 to stream the video 110 to the set-top box 104.

In another scenario, assume the authentication information 154 includesan identifier of another third party video provider which means that thethird party video provider 108 has not previously streamed a video tothe end user's set-top box 104. The authentication engine 116 wouldrequest the end user 102 to enter their username and password but notall of the other cable provider information into theauthentication-login dialog 140 and if ok then request the cablehead-end 119 to stream the video 110 to the set-top box 104. In theevent, the authentication information 154 includes the authenticationtoken then the authentication engine 116 can use that information todetermine the user name and password of the end user 102 in which casethe end user 102 does not need to re-enter the user name and passwordinto the authentication-login dialog 140.

Note: those skilled in the art will appreciate that the cable provider106, the third party video provider 108, the client device 112, and theauthentication engine 116 may include more components than are shown anddiscussed herein. This is because only the components that are necessaryto describe and enable the present invention have for clarity beendiscussed herein.

Referring to FIG. 3, there is a flowchart illustrating exemplary stepsthat can be used to map the end user 102 to their set-top box 104 perstep 8 of method 200 in accordance with an embodiment of the presentinvention. The exemplary steps are discussed next as follows:

Step 1′: The authentication engine 116 sends a request to the billingsystem 118 for set-top box information associated with the end user 102.For instance, the end user 102 may have several set-top boxes locatedwithin their home and each set-top box has a unique identifier orlogical name such as (for example): living room, master bed-room,media-room, kids room. Note: step 1′ and the subsequent steps 2′-5′ havealso been illustrated in FIG. 1.

Step 2′: The authentication engine 116 receives the end user's set-topbox information and presents the set-top box information in theauthentication-login dialog 140 and requests the end user 102 to selectthe set-top box 104 associated with the television 114 that they want toview the video 110.

Step 3′: The authentication engine 116 sends information about theselected set-top box 104 to the billing system 118. In this way, thecable head-end 119 will stream the video 110 to the correct set-top box104.

Steps 4′-5′ (optional): The billing system 118 receives the informationabout the selected set-top box 104 and then sends (step 4′) a token(e.g., number, text, image, audible token) to be displayed at theselected set-top box 104 and the end user 102 enters the token into theauthentication-login dialog box 102. The authentication engine 116receives (step 5′) the token entered into the authentication-logindialog box 104 and sends the token to the billing system 118 whichconfirms or denies the mapping of the set-top box 104 to the end user102.

From the foregoing, one skilled in the art will appreciate that thesystem 100, method 200 and authentication engine 116 described aboveenable the end user 102 to watch the video 110 that they selected usingtheir client device 112 from the third party video provider 108 wheretheir cable provider 106 then streams the video 110 to their set-top box104 to be displayed on a television 114. Thus, the end user 102 not onlyhas a new service they can use to view a video 110 but since the thirdparty video provider 108 may offer higher resolution video than thecable provider 106 this could give the end user 102 a much better videoviewing experience. Furthermore, the cable provider 106 could sell theright to play or view the video 110 using their equipment to the thirdparty video providers 108 and/or the end users 102. In this regard, thecable provider 106 could provide a web api (javascript or web services)that the third party video provider 108 uses to create their third partywebsite 127. In addition, the present invention enables other types ofapplications such as a learning application which could involve showingclips of historical events or a maps application that would allow usersto take a high-definition tour of a place of interest to be madeavailable to the end user 102. As discussed above, the authenticationengine 116 makes this all possible since it authenticates the end user102 and associates their set-top box 104 with a third party web basedapplication 127 (third party video provider 108) so the third partyvideo 110 can be streamed by the cable provider 106 to the set-top box104. A detailed discussion about an exemplary authentication engine 116is provided next.

The authentication engine 116 is used in the system 100 which includesthe third party video provider 108 with a third party web basedapplication 127, and the client device 112 which has the third partywebsite 127 downloaded therein by the end user 102 (step 1). The enduser 102 uses the third party web based application 127 to select thethird party video 110 to be streamed to the set-top box 104 (step 2).The third party video provider 108 checks if the client device 112contains an authentication cookie 138 and if there is no authenticationcookie 138 then the authentication-login dialog 140 is presented in thedownloaded third party website 127 which prompts the end user 102 toenter cable provider information 142 (steps 3-4). The authenticationengine 116 comprises: (a) a provider access directory 132; (b) aprocessor 128; and (c) a non-transitory memory 130 that storesprocessor-executable instructions wherein the processor 128 interfaceswith the non-transitory memory 130 and executes the processor-executableinstructions to: (i) receive the cable provider information 142 and usethe provider access directory 132 to determine a cable provider 106 anda cable head-end 119 that services the set-top box 104 (step 5); (ii)send the end user verification message 144 to the cable head-end 119(step 6), wherein the cable head-end 119 receives the end userverification message 144 and determines if the end user 102 isassociated with the cable provider 106 and if yes sends an end userverification acknowledgment message 146 (step 7); (iii) receive the enduser verification acknowledgement message 146 and interact with thecable head-end 119 to map the set-top box 104 to the end user 104 (step8 and steps 1′-5′); (iv) request the cable head-end 119 to stream thevideo 110 from the video-on-demand application 120 to the set-top box104 after the set-top box 104 is mapped to the end user 102 (step 9);(v) send the client device 112 updated authentication information 152 tobe stored in the authentication cookie 138 for future use in case theend user 102 requests the third party video provider 108 or anotherthird party video provider to stream the another video to the set-topbox 104 (step 10); and (vi) store the cable provider information 142 andcorresponding information related to the cable provider 106 and thecable head-end 119 for subsequent use to stream another video to theset-top box 104 without requiring the end user 102 to enter all of thecable provider information 142 into the authentication-login dialog 140,wherein the another video is associated with either the third partyvideo provider 108 or another third party video provider (step 11).

Although one embodiment of the present invention has been illustrated inthe accompanying Drawings and described in the foregoing DetailedDescription, it should be understood that the invention is not limitedto the disclosed embodiment, but instead is also capable of numerousrearrangements, modifications and substitutions without departing fromthe present invention that as has been set forth and defined within thefollowing claims.

1. A system for authenticating an end user and associating their set-topbox with a third party web based application to stream a third partyvideo to the set-top box, the system comprising: a third party videoprovider with a third party web based application; a client device whichhas the third party web based application downloaded therein by the enduser, wherein the end user uses the third party web based application toselect a video to be streamed to the set-top box; the third party videoprovider checks if the client device contains an authentication cookieand if there is no authentication cookie then an authentication-logindialog is presented in the downloaded third party web based applicationwhich prompts the end user to enter cable provider information; anauthentication engine receives the cable provider information and uses aprovider access directory located therein to determine a cable providerand a cable head-end that services the set-top box; the authenticationengine sends an end user verification message to the cable head-end; thecable head-end is associated with a billing system and a video-on-demandapplication, wherein the video-on-demand application contains the video,and wherein the billing system receives the end user verificationmessage and if the end user is associated with the cable provider thensends an end user verification acknowledgment message to theauthentication engine; the authentication engine receives the end userverification acknowledgement message and then interacts with the billingsystem to map the set-top box to the end user; the authentication engineafter the set-top box is mapped to the end user requests the cablehead-end to stream the video from the video-on-demand application to theset-top box; and the authentication engine stores the cable providerinformation and corresponding information related to the cable providerand the cable head-end for subsequent use to stream another video to theset-top box without requiring the end user to enter all of the cableprovider information into the authentication-login dialog, wherein theanother video is associated with either the third party video provideror another third party video provider.
 2. The system of claim 1, whereinthe authentication engine upon receiving the end user verificationacknowledgment signal sends the client device updated authenticationinformation to be stored in the authentication cookie for future use incase the end user requests the third party video provider or anotherthird party video provider to stream the another video to the set-topbox.
 3. The system of claim 1, wherein when the third party videoprovider determines the client device contains the authentication cookiethen: the authentication engine receives authentication information fromthe authentication cookie and checks the authentication information todetermine if ok to instruct the cable head-end to stream the video tothe set-top box; if ok, then the authentication engine instructs thecable head-end to stream the video to the set-top box, and if not ok,then the authentication engine prompts the end user to input a user nameand password but not all of the cable provider information into theauthentication-login dialog and then checks the user name and passwordand if ok then instructs the cable head-end to stream the video to theset-top box.
 4. The system of claim 3, wherein the authentication cookieincludes an expiration time indicator.
 5. The system of claim 3, whereinthe authentication cookie includes an authentication token which theauthentication engine uses to determine the user name and password ofthe end-user in which case the end user does not need to re-enter theuser name and password into the authentication-login dialog.
 6. Thesystem of claim 1, wherein the cable provider information comprises acable provider identifier, a user name, a password, an identifierindicating the video, and an end user geographical location identifier.7. The system of claim 1, wherein the third party video providerdownloads the video to the video-on-demand application.
 8. The system ofclaim 1, wherein the set-top box is mapped to the end user as follows:the authentication engine sends a request to the billing system forset-top box information associated with the end-user; the authenticationengine receives the set-top box information and presents the set-top boxinformation in the authentication-login dialog and requests the end userto select the set-top box; and the authentication engine sendsinformation about the selected set-top box to the billing system.
 9. Thesystem of claim 8, wherein: the billing system receives the informationabout the selected set-top box and then sends a token to be displayed atthe selected set-top box and the end user enters the token into theauthentication-login dialog box; the authentication engine receives thetoken entered into the authentication-login dialog box and sends thetoken to the billing system which confirms or denies the mapping of theset-top box to the end user.
 10. A method for authenticating an end userand associating their set-top box with a third party web basedapplication to stream a third party video to the set-top box, the methodcomprising the steps of: downloading a third party web based applicationinto a client device, wherein the end user interacts with the thirdparty web based application to select a video to be streamed to theset-top box; checking, at a third party video provider, if the clientdevice contains an authentication cookie and if there is noauthentication cookie then presenting an authentication-login dialog inthe downloaded third party web based application which prompts the enduser to enter cable provider information; receiving, at anauthentication engine, the cable provider information and using aprovider access directory located therein to determine a cable providerand a cable head-end that services the set-top box; sending, from theauthentication engine, an end user verification message to the cablehead-end; receiving, at the cable head-end, the end user verificationmessage and if the end user is associated with the cable provider thensending an end user verification acknowledgment message to theauthentication engine, wherein the cable head-end is associated with abilling system and a video-on-demand application, wherein thevideo-on-demand application contains the video, and wherein the billingsystem receives the end user verification message and determines if theend user is associated with the cable provider; receiving, at theauthentication engine, the end user verification acknowledgement messageand then interacting with the billing system to map the set-top box tothe end user; requesting, at the authentication engine, the cablehead-end to stream the video from the video-on-demand application to theset-top box; and storing, at the authentication engine, the cableprovider information and corresponding information related to the cableprovider and the cable head-end for subsequent use to stream anothervideo to the set-top box without requiring the end user to enter all ofthe cable provider information into the authentication-login dialog,wherein the another video is associated with either the third partyvideo provider or another third party video provider.
 11. The method ofclaim 10, wherein the authentication engine upon receiving the end userverification acknowledgment signal sends the client device updatedauthentication information to be stored in the authentication cookie forfuture use in case the end user requests the third party video provideror another third party video provider to stream the another video to theset-top box.
 12. The method of claim 10, wherein when the third partyvideo provider determines the client device contains the authenticationcookie then: the authentication engine receives authenticationinformation from the authentication cookie and checks the authenticationinformation to determine if ok to instruct the cable head-end to streamthe video to the set-top box; if ok, then the authentication engineinstructs the cable head-end to stream the video to the set-top box, andif not ok, then the authentication engine prompts the end user to inputa user name and password but not all of the cable provider informationinto the authentication-login dialog and then checks the user name andpassword and if ok then instructs the cable head-end to stream the videoto the set-top box.
 13. The method of claim 12, wherein theauthentication cookie includes an expiration time indicator.
 14. Themethod of claim 12, wherein the authentication cookie includes anauthentication token which the authentication engine uses to determinethe user name and password of the end-user in which case the end userdoes not need to re-enter the user name and password into theauthentication-login dialog.
 15. The method of claim 10, wherein thecable provider information comprises It) a cable provider identifier, auser name, a password, an identifier indicating the video, and an enduser geographical location identifier.
 16. The method of claim 10,wherein the third party video provider downloads the video to thevideo-on-demand application.
 17. The method of claim 10, wherein theset-top box is mapped to the end user as follows: the authenticationengine sending a request to the billing system for set-top boxinformation associated with the end-user: the authentication enginereceiving the set-top box information and presenting the set-top boxinformation in the authentication-login dialog and requesting the enduser to select the set-top box; and the authentication engine sendinginformation about the selected set-top box to the billing system. 18.The method of claim 17, wherein: the billing system receiving theinformation about the selected set-top box and then sending a token tobe displayed at the selected set-top box and the end user entering thetoken into the authentication-login dialog box; the authenticationengine receiving the token entered into the authentication-login dialogbox and sending the token to the billing system which confirms or deniesthe mapping of the set-top box to the end user.
 19. An authenticationengine used in a system that includes a third party video provider witha third party web based application, a client device which has the thirdparty web based application downloaded therein by the end user, whereinthe end user uses the third party web based application to select athird party video to be streamed to the set-top box, and the third partyvideo provider checks if the client device contains an authenticationcookie and if there is no authentication cookie then anauthentication-login dialog is presented in the downloaded third partyweb based application which prompts the end user to enter cable providerinformation, the authentication engine comprising: a provider accessdirectory; a processor; and a non-transitory memory that storesprocessor-executable instructions wherein the processor interfaces withthe non-transitory memory and executes the processor-executableinstructions to: receive the cable provider information and use theprovider access directory to determine a cable provider and a cablehead-end that services the set-top box; send an end user verificationmessage to the cable head-end, wherein the cable head-end receives theend user verification message and determines if the end user isassociated with the cable provider and if yes sends an end userverification acknowledgment message; receive the end user verificationacknowledgement message and interact with the cable head-end to map theset-top box to the end user; request the cable head-end to stream thevideo from the video-on-demand application to the set-top box after theset-top box is mapped to the end user; and store the cable providerinformation and corresponding information related to the cable providerand the cable head-end for subsequent use to stream another video to theset-top box without requiring the end user to enter all of the cableprovider information into the authentication-login dialog, wherein theanother video is associated with either the third party video provideror another third party video provider.
 20. The authentication engine ofclaim 19, wherein the processor further executes theprocessor-executable instructions to send the client device updatedauthentication information to be stored in the authentication cookie forfuture use in case the end user requests the third party video provideror another third party video provider to stream the another video to theset-top box.
 21. The authentication engine of claim 19, wherein when thethird party video provider determines the client device contains theauthentication cookie then the processor further executes theprocessor-executable instructions to: receive authentication informationfrom the authentication cookie and check the authentication informationto determine if ok to instruct the cable head-end to stream the video tothe set-top box; if ok, then instruct the cable head-end to stream thevideo to the set-top box, and if not ok, then prompt the end user toinput a user name and password but not all of the cable providerinformation into the authentication-login dialog and then check the username and password and if ok then instruct the cable head-end to streamthe video to the set-top box.
 22. The authentication engine of claim 21,wherein the authentication cookie includes an expiration time indicator.23. The authentication engine of claim 21, wherein the authenticationcookie includes an authentication token which the authentication engineuses to determine the user name and password of the end-user in whichcase the end user does not need to re-enter the user name and passwordinto the authentication-login dialog.
 24. The authentication engine ofclaim 21, wherein the cable provider information comprises a cableprovider identifier, a user name, a password, an identifier indicatingthe video, and an end user geographical location identifier.
 25. Theauthentication engine of claim 19, then processor further executes theprocessor-executable instructions to map the set-top box to the end userby: sending a request to the billing system for set-top box informationassociated with the end-user; receiving the set-top box information andpresents the set-top box information in the authentication-login dialogand requesting the end user to select the set-top box; and sendinginformation about the selected set-top box to the billing system. 26.The authentication engine of claim 25, wherein the billing systemreceives the information about the selected set-top box and then sends atoken to be displayed at the selected set-top box and the end userenters the token into the authentication-login dialog box, thenprocessor further executes the processor-executable instructions to:receive the token entered into the authentication-login dialog box andsend the token to the billing system which confirms or denies themapping of the set-top box to the end user.